/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package ships.core.geo2d;

import ships.core.Rectangle;

/**
 *
 * @author fqhuy
 */
public interface Shape {

    public Rectangle getBounds();

    public Rectangle2D getBounds2D();

    public boolean contains(double x, double y);

    public boolean contains(Point2D p);

    public boolean intersects(double x, double y, double w, double h);

    public boolean intersects(Rectangle2D r);

    public boolean contains(double x, double y, double w, double h);

    public boolean contains(Rectangle2D r);

    public PathIterator getPathIterator(AffineTransform at);

    public PathIterator getPathIterator(AffineTransform at, double flatness);
}
